development java open source object html projects php design oriented architecture j2ee human factors developers prototype c++ manufacturing usability ergonomics .net engineering